package com.orange.monitor;

import java.util.concurrent.TimeUnit;

import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver;

import com.orange.monitor.fileListener.FileListener;

/**
 * @author: HH
 * @Description: 监听调度类 
 * @date 2017年9月18日 下午6:37:49
 */
public class FileMonitor {
	
	public static void runMonitor() throws Exception{
		// 轮询间隔
	    long interval = TimeUnit.SECONDS.toMillis(180);
	    // 监听目录
	    String path = System.getProperty("user.dir") + "/src/main/resources/conf/";
	    
	    // 创建一个文件观察器用于处理文件的格式
	    FileAlterationObserver fileObserver = new FileAlterationObserver(path , FileFilterUtils.and(FileFilterUtils.fileFileFilter(),FileFilterUtils.suffixFileFilter("xml")));
	    
	    // 设置文件变化监听器
	    fileObserver.addListener(new FileListener());
	    // 启动文件监听
	    FileAlterationMonitor monitor = new FileAlterationMonitor(interval,fileObserver);
        monitor.start();
	}
}
